IP telephones, which transmit and receive voice data by using IP (Internet Protocol) networks, have come into wide use. Along with popularization of the Internet and mobile Internet and speed-up in those communications, IP telephones that use the Internet and mobile Internet, which do not assure quality, have also become popular.
In voice communication, it is important to be able to talk with a person at the other end in real time. However, IP telephones have high voice latency compared with general telephones using a circuit switching system and have low voice communication quality. To provide stable IP telephone communication services, the Ministry of Internal Affairs and Communications has stipulated a service standard for IP telephone service providers. In the service standard, the criterion of end-to-end voice delay time for IP telephones is, for example, less than 400 milliseconds.
In many cases, the above-described quality standard is not applied to IP telephones using the Internet or mobile networks, and voice communication with a voice delay time of less than 400 milliseconds is not achieved. However, to maintain quality for IP telephones using the Internet or mobile networks as well, it is important to achieve voice communication with as low latency as possible.
To transmit voice data to the other end with low latency, many IP telephones transmit voice data by using RTP (Realtime Transport Protocol) on UDP (User Datagram Protocol).
When UDP is used, there is no assurance for data to reach the other end of the line. Instead, data transmission with low latency is achieved. Thus, UDP is used for multimedia communication that requires real time processing. However, data transmission using UDP has a flaw in that packets are unable to go through a NAT (Network Address Translation) or firewall.
NAT is a technology that is used for connecting terminals without global IP addresses to the Internet. Devices in front of a NAT are unable to know the IP addresses of terminals behind the NAT. Thus, the devices in front of the NAT are unable to transmit data to the terminals behind the NAT directly using UDP. Many firewalls are set not to let UDP communications from the outside of networks come into the inside of the networks for protection from communication network attacks from the outside of the networks.
To transmit data using UDP from the outside of a network to devices behind a NAT or firewall, it is required to apply special settings to the NAT or firewall or to use a particular protocol, such as RFC5389 Session Traversal Utilities for NAT (STUN), which is standardized by IETF (Internet Engineering Task Force). However, the above-described methods to deal with the flaw have another flaw in that resistance to communication network attacks weakens, it takes a cost to handle a particular protocol, or the like.
Since, on the Internet or mobile networks, user terminals often reside behind a NAT or firewall, some IP telephone services on the Internet transmit voice data by using TCP, with which transmitted data are able to pass through a NAT or firewall easily.
When TCP is used, since retransmission of lost packets or flow control is performed, data reachability to a terminal at the other end is assured. Instead, low latency data communication is not taken into consideration. Thus, generally, TCP is not used for a service that requires real time property, such as voice communication. IP telephone services using TCP have an advantage in that connectivity is assured but also have an disadvantage in that voice delay is substantial.
Regarding the above-described problem, a technology to carry out data communication with low latency by using TCP is disclosed in PTL 1. A communication device disclosed in PTL 1 achieves data communication with low latency using TCP with a configuration as described below.
A transmission device disclosed in PTL 1 establishes a plurality of TCP connections between a transmission device and a receiving device, segments transmission target data, such as voice data, into a plurality of packets, and distributes and transmits the plurality of packets to different established TCP connections. Thus, even when a loss occurs to a packet distributed to a TCP connection and the packet arrives late, the receiving device is capable of receiving packets that are distributed to (an)other TCP connection(s) without delay.
The communication device disclosed in PTL 1 achieves low latency voice communication by treating a packet(s) that arrive(s) late due to a packet loss(es) as a lost packet(s). Since a portion of the voice data corresponding to the packet(s) treated as a lost packet(s) is not used by the receiving side, voice data reproduced by the receiving device become deteriorated data compared with the data before transmission.